package com.yuzhi.master.drainEvents.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yuzhi.common.core.domain.BaseEntity;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 事件表
 *
 * @Author mr.lcc
 * @Date 2025/7/24 12:32
 */
@Data
public class DrainEventsBo extends BaseEntity {

    private String id;

    /**
     * 事件来源类型，如巡检、设备报警等
     */
    private String sourceType;

    /**
     * 事件具体来源，如系统模块名称或设备型号
     */
    private String source;

    /**
     * 关联来源ID，如巡检ID，设备报警ID
     */
    private String sourceId;

    /**
     * 事件关联的站点ID
     */
    private String siteId;

    /**
     * 站点类型，如污水厂、泵站、排水管道
     */
    private String siteType;

    /**
     * 事件的详细问题描述
     */
    private String description;

    /**
     * 上报人ID
     */
    private String reporterId;

    /**
     * 上报时间，默认当前时间
     */
    private String reportedAt;

    /**
     * 事件处理状态：1(待处理)、2(处理中)、3(已解决)、4(已关闭)、5(催办)
     */
    private String eventsStatus;

    /**
     * 站点名称
     */
    private String siteName;

    /**
     * 经度
     */
    private String longitude;

    /**
     * 纬度
     */
    private String latitude;

    /**
     * 项目文件-关联外键
     */
    private String projectDocuments;

    /**
     * 问题项-关联外键
     */
    private String questionItem;

    /**
     * 问题设备-关联外键
     */
    private String questionDevice;

    /**
     * 状态类型：上报类型（1=事件上报、2=工单上报、默认状态为1）
     */
    private Integer statusType;

    /**
     * 处理时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime processTime;

    //=============编辑时候选择的处理人员id值=============
    /**
     * 实际处置人员的唯一标识
     */
    private String processorId;
}
